Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.sql
Interface ResultSet

All Known Subinterfaces:
  RowSet

public interface ResultSet

A table of data representing a database result set, which is usually generated by executing a statement that queries the database.

A `ResultSet` object maintains a cursor pointing to its current row of data. Initially the cursor is positioned before the first row. The `next` method moves the cursor to the next row, and because it returns `false` when there are no more rows in the `ResultSet` object, it can be used in a `while` loop to iterate through the result set.

A default `ResultSet` object is not updatable and has a cursor that moves forward only. Thus, you can iterate through it only once and only from the first row to the last row. It is possible to produce `ResultSet` objects that are scrollable and/or updatable. The following code fragment, in which `con` is a valid `Connection` object, illustrates how to make a result set that is scrollable and insensitive to updates by others, and that is updatable. See `ResultSet` fields for other options.

           Statement stmt = con.createStatement(
                                          ResultSet.TYPE_SCROLL_INSENSITIVE,
                                          ResultSet.CONCUR_UPDATABLE);
           ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
           // rs will be scrollable, will not show changes made by others,
           // and will be updatable

The `ResultSet` interface provides getter methods (`getBoolean`, `getLong`, and so on) for retrieving column values from the current row. Values can be retrieved using either the index number of the column or the name of the column. In general, using the column index will be more efficient. Columns are numbered from 1. For maximum portability, result set columns within each row should be read in left-to-right order, and each column should be read only once.

For the getter methods, a JDBC driver attempts to convert the underlying data to the Java type specified in the getter method and returns a suitable Java value. The JDBC specification has a table showing the allowable mappings from SQL types to Java types that can be used by the `ResultSet` getter methods.

Column names used as input to getter methods are case insensitive. When a getter method is called with a column name and several columns have the same name, the value of the first matching column will be returned. The column name option is designed to be used when column names are used in the SQL query that generated the result set. For columns that are NOT explicitly named in the query, it is best to use column numbers. If column names are used, there is no way for the programmer to guarantee that they actually refer to the intended columns.

A set of updater methods were added to this interface in the JDBC 2.0 API (JavaTM 2 SDK, Standard Edition, version 1.2). The comments regarding parameters to the getter methods also apply to parameters to the updater methods.

The updater methods may be used in two ways:

1. to update a column value in the current row. In a scrollable `ResultSet` object, the cursor can be moved backwards and forwards, to an absolute position, or to a position relative to the current row. The following code fragment updates the `NAME` column in the fifth row of the `ResultSet` object `rs` and then uses the method `updateRow` to update the data source table from which `rs` was derived.

              rs.absolute(5); // moves the cursor to the fifth row of rs
              rs.updateString("NAME", "AINSWORTH"); // updates the
                 // NAME column of row 5 to be AINSWORTH
              rs.updateRow(); // updates the row in the data source

2. to insert column values into the insert row. An updatable `ResultSet` object has a special row associated with it that serves as a staging area for building a row to be inserted. The following code fragment moves the cursor to the insert row, builds a three-column row, and inserts it into `rs` and into the data source table using the method `insertRow`.

              rs.moveToInsertRow(); // moves cursor to the insert row
              rs.updateString(1, "AINSWORTH"); // updates the
                 // first column of the insert row to be AINSWORTH
              rs.updateInt(2,35); // updates the second column to be 35
              rs.updateBoolean(3, true); // updates the third row to true
              rs.insertRow();
              rs.moveToCurrentRow();

A `ResultSet` object is automatically closed when the `Statement` object that generated it is closed, re-executed, or used to retrieve the next result from a sequence of multiple results.

The number, types and properties of a `ResultSet` object's columns are provided by the `ResulSetMetaData` object returned by the `ResultSet.getMetaData` method.

See Also:
  `Statement.executeQuery(java.lang.String)`, `Statement.getResultSet()`, `ResultSetMetaData`

Field Summary
`static int` | `CLOSE_CURSORS_AT_COMMIT` The constant indicating that `ResultSet` objects should be closed when the method `Connection.commit` is called.
`static int` | `CONCUR_READ_ONLY` The constant indicating the concurrency mode for a `ResultSet` object that may NOT be updated.
`static int` | `CONCUR_UPDATABLE` The constant indicating the concurrency mode for a `ResultSet` object that may be updated.
`static int` | `FETCH_FORWARD` The constant indicating that the rows in a result set will be processed in a forward direction; first-to-last.
`static int` | `FETCH_REVERSE` The constant indicating that the rows in a result set will be processed in a reverse direction; last-to-first.
`static int` | `FETCH_UNKNOWN` The constant indicating that the order in which rows in a result set will be processed is unknown.
`static int` | `HOLD_CURSORS_OVER_COMMIT` The constant indicating that `ResultSet` objects should not be closed when the method `Connection.commit` is called.
`static int` | `TYPE_FORWARD_ONLY` The constant indicating the type for a `ResultSet` object whose cursor may move only forward.
`static int` | `TYPE_SCROLL_INSENSITIVE` The constant indicating the type for a `ResultSet` object that is scrollable but generally not sensitive to changes made by others.
`static int` | `TYPE_SCROLL_SENSITIVE` The constant indicating the type for a `ResultSet` object that is scrollable and generally sensitive to changes made by others.

Method Summary
`boolean` | `absolute(int row)` Moves the cursor to the given row number in this `ResultSet` object.
`void` | `afterLast()` Moves the cursor to the end of this `ResultSet` object, just after the last row.
`void` | `beforeFirst()` Moves the cursor to the front of this `ResultSet` object, just before the first row.
`void` | `cancelRowUpdates()` Cancels the updates made to the current row in this `ResultSet` object.
`void` | `clearWarnings()` Clears all warnings reported on this `ResultSet` object.
`void` | `close()` Releases this `ResultSet` object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.
`void` | `deleteRow()` Deletes the current row from this `ResultSet` object and from the underlying database.
`int` | `findColumn(String columnName)` Maps the given `ResultSet` column name to its `ResultSet` column index.
`boolean` | `first()` Moves the cursor to the first row in this `ResultSet` object.
`Array` | `getArray(int i)` Retrieves the value of the designated column in the current row of this `ResultSet` object as an `Array` object in the Java programming language.
`Array` | `getArray(String colName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as an `Array` object in the Java programming language.
`InputStream` | `getAsciiStream(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of ASCII characters.
`InputStream` | `getAsciiStream(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of ASCII characters.
`BigDecimal` | `getBigDecimal(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.math.BigDecimal` with full precision.
`BigDecimal` | `getBigDecimal(int columnIndex, int scale)` Deprecated.
`BigDecimal` | `getBigDecimal(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.math.BigDecimal` with full precision.
`BigDecimal` | `getBigDecimal(String columnName, int scale)` Deprecated.
`InputStream` | `getBinaryStream(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a binary stream of uninterpreted bytes.
`InputStream` | `getBinaryStream(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of uninterpreted `byte`s.
`Blob` | `getBlob(int i)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Blob` object in the Java programming language.
`Blob` | `getBlob(String colName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Blob` object in the Java programming language.
`boolean` | `getBoolean(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `boolean` in the Java programming language.
`boolean` | `getBoolean(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `boolean` in the Java programming language.
`byte` | `getByte(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` in the Java programming language.
`byte` | `getByte(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` in the Java programming language.
`byte[]` | `getBytes(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` array in the Java programming language.
`byte[]` | `getBytes(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` array in the Java programming language.
`Reader` | `getCharacterStream(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.
`Reader` | `getCharacterStream(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.
`Clob` | `getClob(int i)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Clob` object in the Java programming language.
`Clob` | `getClob(String colName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Clob` object in the Java programming language.
`int` | `getConcurrency()` Retrieves the concurrency mode of this `ResultSet` object.
`String` | `getCursorName()` Retrieves the name of the SQL cursor used by this `ResultSet` object.
`Date` | `getDate(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Date` object in the Java programming language.
`Date` | `getDate(int columnIndex, Calendar cal)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Date` object in the Java programming language.
`Date` | `getDate(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Date` object in the Java programming language.
`Date` | `getDate(String columnName, Calendar cal)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Date` object in the Java programming language.
`double` | `getDouble(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `double` in the Java programming language.
`double` | `getDouble(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `double` in the Java programming language.
`int` | `getFetchDirection()` Retrieves the fetch direction for this `ResultSet` object.
`int` | `getFetchSize()` Retrieves the fetch size for this `ResultSet` object.
`float` | `getFloat(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `float` in the Java programming language.
`float` | `getFloat(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `float` in the Java programming language.
`int` | `getInt(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as an `int` in the Java programming language.
`int` | `getInt(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as an `int` in the Java programming language.
`long` | `getLong(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `long` in the Java programming language.
`long` | `getLong(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `long` in the Java programming language.
`ResultSetMetaData` | `getMetaData()` Retrieves the number, types and properties of this `ResultSet` object's columns.
`Object` | `getObject(int columnIndex)` Gets the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language.
`Object` | `getObject(int i, Map map)` Retrieves the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language.
`Object` | `getObject(String columnName)` Gets the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language.
`Object` | `getObject(String colName, Map map)` Retrieves the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language.
`Ref` | `getRef(int i)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Ref` object in the Java programming language.
`Ref` | `getRef(String colName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Ref` object in the Java programming language.
`int` | `getRow()` Retrieves the current row number.
`short` | `getShort(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `short` in the Java programming language.
`short` | `getShort(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `short` in the Java programming language.
`Statement` | `getStatement()` Retrieves the `Statement` object that produced this `ResultSet` object.
`String` | `getString(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String` in the Java programming language.
`String` | `getString(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String` in the Java programming language.
`Time` | `getTime(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Time` object in the Java programming language.
`Time` | `getTime(int columnIndex, Calendar cal)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Time` object in the Java programming language.
`Time` | `getTime(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Time` object in the Java programming language.
`Time` | `getTime(String columnName, Calendar cal)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Time` object in the Java programming language.
`Timestamp` | `getTimestamp(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Timestamp` object in the Java programming language.
`Timestamp` | `getTimestamp(int columnIndex, Calendar cal)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Timestamp` object in the Java programming language.
`Timestamp` | `getTimestamp(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Timestamp` object.
`Timestamp` | `getTimestamp(String columnName, Calendar cal)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Timestamp` object in the Java programming language.
`int` | `getType()` Retrieves the type of this `ResultSet` object.
`InputStream` | `getUnicodeStream(int columnIndex)` Deprecated. use `getCharacterStream` in place of `getUnicodeStream`
`InputStream` | `getUnicodeStream(String columnName)` Deprecated. use `getCharacterStream` instead
`URL` | `getURL(int columnIndex)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.net.URL` object in the Java programming language.
`URL` | `getURL(String columnName)` Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.net.URL` object in the Java programming language.
`SQLWarning` | `getWarnings()` Retrieves the first warning reported by calls on this `ResultSet` object.
`void` | `insertRow()` Inserts the contents of the insert row into this `ResultSet` object and into the database.
`boolean` | `isAfterLast()` Retrieves whether the cursor is after the last row in this `ResultSet` object.
`boolean` | `isBeforeFirst()` Retrieves whether the cursor is before the first row in this `ResultSet` object.
`boolean` | `isFirst()` Retrieves whether the cursor is on the first row of this `ResultSet` object.
`boolean` | `isLast()` Retrieves whether the cursor is on the last row of this `ResultSet` object.
`boolean` | `last()` Moves the cursor to the last row in this `ResultSet` object.
`void` | `moveToCurrentRow()` Moves the cursor to the remembered cursor position, usually the current row.
`void` | `moveToInsertRow()` Moves the cursor to the insert row.
`boolean` | `next()` Moves the cursor down one row from its current position.
`boolean` | `previous()` Moves the cursor to the previous row in this `ResultSet` object.
`void` | `refreshRow()` Refreshes the current row with its most recent value in the database.
`boolean` | `relative(int rows)` Moves the cursor a relative number of rows, either positive or negative.
`boolean` | `rowDeleted()` Retrieves whether a row has been deleted.
`boolean` | `rowInserted()` Retrieves whether the current row has had an insertion.
`boolean` | `rowUpdated()` Retrieves whether the current row has been updated.
`void` | `setFetchDirection(int direction)` Gives a hint as to the direction in which the rows in this `ResultSet` object will be processed.
`void` | `setFetchSize(int rows)` Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this `ResultSet` object.
`void` | `updateArray(int columnIndex, Array x)` Updates the designated column with a `java.sql.Array` value.
`void` | `updateArray(String columnName, Array x)` Updates the designated column with a `java.sql.Array` value.
`void` | `updateAsciiStream(int columnIndex, InputStream x, int length)` Updates the designated column with an ascii stream value.
`void` | `updateAsciiStream(String columnName, InputStream x, int length)` Updates the designated column with an ascii stream value.
`void` | `updateBigDecimal(int columnIndex, BigDecimal x)` Updates the designated column with a `java.math.BigDecimal` value.
`void` | `updateBigDecimal(String columnName, BigDecimal x)` Updates the designated column with a `java.sql.BigDecimal` value.
`void` | `updateBinaryStream(int columnIndex, InputStream x, int length)` Updates the designated column with a binary stream value.
`void` | `updateBinaryStream(String columnName, InputStream x, int length)` Updates the designated column with a binary stream value.
`void` | `updateBlob(int columnIndex, Blob x)` Updates the designated column with a `java.sql.Blob` value.
`void` | `updateBlob(String columnName, Blob x)` Updates the designated column with a `java.sql.Blob` value.
`void` | `updateBoolean(int columnIndex, boolean x)` Updates the designated column with a `boolean` value.
`void` | `updateBoolean(String columnName, boolean x)` Updates the designated column with a `boolean` value.
`void` | `updateByte(int columnIndex, byte x)` Updates the designated column with a `byte` value.
`void` | `updateByte(String columnName, byte x)` Updates the designated column with a `byte` value.
`void` | `updateBytes(int columnIndex, byte[] x)` Updates the designated column with a `byte` array value.
`void` | `updateBytes(String columnName, byte[] x)` Updates the designated column with a byte array value.
`void` | `updateCharacterStream(int columnIndex, Reader x, int length)` Updates the designated column with a character stream value.
`void` | `updateCharacterStream(String columnName, Reader reader, int length)` Updates the designated column with a character stream value.
`void` | `updateClob(int columnIndex, Clob x)` Updates the designated column with a `java.sql.Clob` value.
`void` | `updateClob(String columnName, Clob x)` Updates the designated column with a `java.sql.Clob` value.
`void` | `updateDate(int columnIndex, Date x)` Updates the designated column with a `java.sql.Date` value.
`void` | `updateDate(String columnName, Date x)` Updates the designated column with a `java.sql.Date` value.
`void` | `updateDouble(int columnIndex, double x)` Updates the designated column with a `double` value.
`void` | `updateDouble(String columnName, double x)` Updates the designated column with a `double` value.
`void` | `updateFloat(int columnIndex, float x)` Updates the designated column with a `float` value.
`void` | `updateFloat(String columnName, float x)` Updates the designated column with a `float` value.
`void` | `updateInt(int columnIndex, int x)` Updates the designated column with an `int` value.
`void` | `updateInt(String columnName, int x)` Updates the designated column with an `int` value.
`void` | `updateLong(int columnIndex, long x)` Updates the designated column with a `long` value.
`void` | `updateLong(String columnName, long x)` Updates the designated column with a `long` value.
`void` | `updateNull(int columnIndex)` Gives a nullable column a null value.
`void` | `updateNull(String columnName)` Updates the designated column with a `null` value.
`void` | `updateObject(int columnIndex, Object x)` Updates the designated column with an `Object` value.
`void` | `updateObject(int columnIndex, Object x, int scale)` Updates the designated column with an `Object` value.
`void` | `updateObject(String columnName, Object x)` Updates the designated column with an `Object` value.
`void` | `updateObject(String columnName, Object x, int scale)` Updates the designated column with an `Object` value.
`void` | `updateRef(int columnIndex, Ref x)` Updates the designated column with a `java.sql.Ref` value.
`void` | `updateRef(String columnName, Ref x)` Updates the designated column with a `java.sql.Ref` value.
`void` | `updateRow()` Updates the underlying database with the new contents of the current row of this `ResultSet` object.
`void` | `updateShort(int columnIndex, short x)` Updates the designated column with a `short` value.
`void` | `updateShort(String columnName, short x)` Updates the designated column with a `short` value.
`void` | `updateString(int columnIndex, String x)` Updates the designated column with a `String` value.
`void` | `updateString(String columnName, String x)` Updates the designated column with a `String` value.
`void` | `updateTime(int columnIndex, Time x)` Updates the designated column with a `java.sql.Time` value.
`void` | `updateTime(String columnName, Time x)` Updates the designated column with a `java.sql.Time` value.
`void` | `updateTimestamp(int columnIndex, Timestamp x)` Updates the designated column with a `java.sql.Timestamp` value.
`void` | `updateTimestamp(String columnName, Timestamp x)` Updates the designated column with a `java.sql.Timestamp` value.
`boolean` | `wasNull()` Reports whether the last column read had a value of SQL `NULL`.

Field Detail

### FETCH_FORWARD

    public static final int FETCH_FORWARD

  The constant indicating that the rows in a result set will be processed in a forward direction; first-to-last. This constant is used by the method `setFetchDirection` as a hint to the driver, which the driver may ignore.

  Since:
    1.2
See Also:
  Constant Field Values

### FETCH_REVERSE

    public static final int FETCH_REVERSE

  The constant indicating that the rows in a result set will be processed in a reverse direction; last-to-first. This constant is used by the method `setFetchDirection` as a hint to the driver, which the driver may ignore.

  Since:
    1.2
See Also:
  Constant Field Values

### FETCH_UNKNOWN

    public static final int FETCH_UNKNOWN

  The constant indicating that the order in which rows in a result set will be processed is unknown. This constant is used by the method `setFetchDirection` as a hint to the driver, which the driver may ignore.

  See Also:
    Constant Field Values

### TYPE_FORWARD_ONLY

    public static final int TYPE_FORWARD_ONLY

  The constant indicating the type for a `ResultSet` object whose cursor may move only forward.

  Since:
    1.2
See Also:
  Constant Field Values

### TYPE_SCROLL_INSENSITIVE

    public static final int TYPE_SCROLL_INSENSITIVE

  The constant indicating the type for a `ResultSet` object that is scrollable but generally not sensitive to changes made by others.

  Since:
    1.2
See Also:
  Constant Field Values

### TYPE_SCROLL_SENSITIVE

    public static final int TYPE_SCROLL_SENSITIVE

  The constant indicating the type for a `ResultSet` object that is scrollable and generally sensitive to changes made by others.

  Since:
    1.2
See Also:
  Constant Field Values

### CONCUR_READ_ONLY

    public static final int CONCUR_READ_ONLY

  The constant indicating the concurrency mode for a `ResultSet` object that may NOT be updated.

  Since:
    1.2
See Also:
  Constant Field Values

### CONCUR_UPDATABLE

    public static final int CONCUR_UPDATABLE

  The constant indicating the concurrency mode for a `ResultSet` object that may be updated.

  Since:
    1.2
See Also:
  Constant Field Values

### HOLD_CURSORS_OVER_COMMIT

    public static final int HOLD_CURSORS_OVER_COMMIT

  The constant indicating that `ResultSet` objects should not be closed when the method `Connection.commit` is called.

  Since:
    1.4
See Also:
  Constant Field Values

### CLOSE_CURSORS_AT_COMMIT

    public static final int CLOSE_CURSORS_AT_COMMIT

  The constant indicating that `ResultSet` objects should be closed when the method `Connection.commit` is called.

  Since:
    1.4
See Also:
  Constant Field Values

Method Detail

### next

    public boolean next()
                 throws SQLException

  Moves the cursor down one row from its current position. A `ResultSet` cursor is initially positioned before the first row; the first call to the method `next` makes the first row the current row; the second call makes the second row the current row, and so on.

  If an input stream is open for the current row, a call to the method `next` will implicitly close it. A `ResultSet` object's warning chain is cleared when a new row is read.

  Returns:
    `true` if the new current row is valid; `false` if there are no more rows
  Throws:
    `SQLException` - if a database access error occurs

### close

    public void close()
               throws SQLException

  Releases this `ResultSet` object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.

  Note: A `ResultSet` object is automatically closed by the `Statement` object that generated it when that `Statement` object is closed, re-executed, or is used to retrieve the next result from a sequence of multiple results. A `ResultSet` object is also automatically closed when it is garbage collected.

  Throws:
    `SQLException` - if a database access error occurs

### wasNull

    public boolean wasNull()
                    throws SQLException

  Reports whether the last column read had a value of SQL `NULL`. Note that you must first call one of the getter methods on a column to try to read its value and then call the method `wasNull` to see if the value read was SQL `NULL`.

  Returns:
    `true` if the last column value read was SQL `NULL` and `false` otherwise
  Throws:
    `SQLException` - if a database access error occurs

### getString

    public String getString(int columnIndex)
                     throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String` in the Java programming language.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getBoolean

    public boolean getBoolean(int columnIndex)
                       throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `boolean` in the Java programming language.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `false`
  Throws:
    `SQLException` - if a database access error occurs

### getByte

    public byte getByte(int columnIndex)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` in the Java programming language.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `0`
  Throws:
    `SQLException` - if a database access error occurs

### getShort

    public short getShort(int columnIndex)
                   throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `short` in the Java programming language.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `0`
  Throws:
    `SQLException` - if a database access error occurs

### getInt

    public int getInt(int columnIndex)
               throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as an `int` in the Java programming language.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `0`
  Throws:
    `SQLException` - if a database access error occurs

### getLong

    public long getLong(int columnIndex)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `long` in the Java programming language.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `0`
  Throws:
    `SQLException` - if a database access error occurs

### getFloat

    public float getFloat(int columnIndex)
                   throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `float` in the Java programming language.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `0`
  Throws:
    `SQLException` - if a database access error occurs

### getDouble

    public double getDouble(int columnIndex)
                     throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `double` in the Java programming language.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `0`
  Throws:
    `SQLException` - if a database access error occurs

### getBigDecimal

    public BigDecimal getBigDecimal(int columnIndex,
                                    int scale)
                             throws SQLException

  Deprecated.

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.BigDecimal` in the Java programming language.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `scale` - the number of digits to the right of the decimal point
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getBytes

    public byte[] getBytes(int columnIndex)
                    throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` array in the Java programming language. The bytes represent the raw values returned by the driver.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getDate

    public Date getDate(int columnIndex)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Date` object in the Java programming language.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getTime

    public Time getTime(int columnIndex)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Time` object in the Java programming language.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getTimestamp

    public Timestamp getTimestamp(int columnIndex)
                           throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Timestamp` object in the Java programming language.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getAsciiStream

    public InputStream getAsciiStream(int columnIndex)
                               throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large LONGVARCHAR values. The JDBC driver will do any necessary conversion from the database format into ASCII.

  Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return `0` when the method `InputStream.available` is called whether there is data available or not.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    a Java input stream that delivers the database column value as a stream of one-byte ASCII characters; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getUnicodeStream

    public InputStream getUnicodeStream(int columnIndex)
                                 throws SQLException

  Deprecated. use `getCharacterStream` in place of `getUnicodeStream`

  Retrieves the value of the designated column in the current row of this `ResultSet` object as as a stream of two-byte Unicode characters. The first byte is the high byte; the second byte is the low byte. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large `LONGVARCHAR`values. The JDBC driver will do any necessary conversion from the database format into Unicode.

  Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return `0` when the method `InputStream.available` is called, whether there is data available or not.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    a Java input stream that delivers the database column value as a stream of two-byte Unicode characters; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getBinaryStream

    public InputStream getBinaryStream(int columnIndex)
                                throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a binary stream of uninterpreted bytes. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large `LONGVARBINARY` values.

  Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return `0` when the method `InputStream.available` is called whether there is data available or not.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    a Java input stream that delivers the database column value as a stream of uninterpreted bytes; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getString

    public String getString(String columnName)
                     throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `String` in the Java programming language.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getBoolean

    public boolean getBoolean(String columnName)
                       throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `boolean` in the Java programming language.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `false`
  Throws:
    `SQLException` - if a database access error occurs

### getByte

    public byte getByte(String columnName)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` in the Java programming language.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `0`
  Throws:
    `SQLException` - if a database access error occurs

### getShort

    public short getShort(String columnName)
                   throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `short` in the Java programming language.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `0`
  Throws:
    `SQLException` - if a database access error occurs

### getInt

    public int getInt(String columnName)
               throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as an `int` in the Java programming language.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `0`
  Throws:
    `SQLException` - if a database access error occurs

### getLong

    public long getLong(String columnName)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `long` in the Java programming language.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `0`
  Throws:
    `SQLException` - if a database access error occurs

### getFloat

    public float getFloat(String columnName)
                   throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `float` in the Java programming language.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `0`
  Throws:
    `SQLException` - if a database access error occurs

### getDouble

    public double getDouble(String columnName)
                     throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `double` in the Java programming language.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `0`
  Throws:
    `SQLException` - if a database access error occurs

### getBigDecimal

    public BigDecimal getBigDecimal(String columnName,
                                    int scale)
                             throws SQLException

  Deprecated.

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.math.BigDecimal` in the Java programming language.

  Parameters:
    `columnName` - the SQL name of the column
    `scale` - the number of digits to the right of the decimal point
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getBytes

    public byte[] getBytes(String columnName)
                    throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `byte` array in the Java programming language. The bytes represent the raw values returned by the driver.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getDate

    public Date getDate(String columnName)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Date` object in the Java programming language.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getTime

    public Time getTime(String columnName)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Time` object in the Java programming language.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getTimestamp

    public Timestamp getTimestamp(String columnName)
                           throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Timestamp` object.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value; if the value is SQL `NULL`, the value returned is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getAsciiStream

    public InputStream getAsciiStream(String columnName)
                               throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large `LONGVARCHAR` values. The JDBC driver will do any necessary conversion from the database format into ASCII.

  Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return `0` when the method `available` is called whether there is data available or not.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    a Java input stream that delivers the database column value as a stream of one-byte ASCII characters. If the value is SQL `NULL`, the value returned is `null`.
  Throws:
    `SQLException` - if a database access error occurs

### getUnicodeStream

    public InputStream getUnicodeStream(String columnName)
                                 throws SQLException

  Deprecated. use `getCharacterStream` instead

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of two-byte Unicode characters. The first byte is the high byte; the second byte is the low byte. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large `LONGVARCHAR` values. The JDBC technology-enabled driver will do any necessary conversion from the database format into Unicode.

  Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return `0` when the method `InputStream.available` is called, whether there is data available or not.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    a Java input stream that delivers the database column value as a stream of two-byte Unicode characters. If the value is SQL `NULL`, the value returned is `null`.
  Throws:
    `SQLException` - if a database access error occurs

### getBinaryStream

    public InputStream getBinaryStream(String columnName)
                                throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a stream of uninterpreted `byte`s. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving large `LONGVARBINARY` values.

  Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return `0` when the method `available` is called whether there is data available or not.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    a Java input stream that delivers the database column value as a stream of uninterpreted bytes; if the value is SQL `NULL`, the result is `null`
  Throws:
    `SQLException` - if a database access error occurs

### getWarnings

    public SQLWarning getWarnings()
                           throws SQLException

  Retrieves the first warning reported by calls on this `ResultSet` object. Subsequent warnings on this `ResultSet` object will be chained to the `SQLWarning` object that this method returns.

  The warning chain is automatically cleared each time a new row is read. This method may not be called on a `ResultSet` object that has been closed; doing so will cause an `SQLException` to be thrown.

  Note: This warning chain only covers warnings caused by `ResultSet` methods. Any warning caused by `Statement` methods (such as reading OUT parameters) will be chained on the `Statement` object.

  Returns:
    the first `SQLWarning` object reported or `null` if there are none
  Throws:
    `SQLException` - if a database access error occurs or this method is called on a closed result set

### clearWarnings

    public void clearWarnings()
                       throws SQLException

  Clears all warnings reported on this `ResultSet` object. After this method is called, the method `getWarnings` returns `null` until a new warning is reported for this `ResultSet` object.

  Throws:
    `SQLException` - if a database access error occurs

### getCursorName

    public String getCursorName()
                         throws SQLException

  Retrieves the name of the SQL cursor used by this `ResultSet` object.

  In SQL, a result table is retrieved through a cursor that is named. The current row of a result set can be updated or deleted using a positioned update/delete statement that references the cursor name. To insure that the cursor has the proper isolation level to support update, the cursor's `SELECT` statement should be of the form `SELECT FOR UPDATE`. If `FOR UPDATE` is omitted, the positioned updates may fail.

  The JDBC API supports this SQL feature by providing the name of the SQL cursor used by a `ResultSet` object. The current row of a `ResultSet` object is also the current row of this SQL cursor.

  Note: If positioned update is not supported, a `SQLException` is thrown.

  Returns:
    the SQL name for this `ResultSet` object's cursor
  Throws:
    `SQLException` - if a database access error occurs

### getMetaData

    public ResultSetMetaData getMetaData()
                                  throws SQLException

  Retrieves the number, types and properties of this `ResultSet` object's columns.

  Returns:
    the description of this `ResultSet` object's columns
  Throws:
    `SQLException` - if a database access error occurs

### getObject

    public Object getObject(int columnIndex)
                     throws SQLException

  Gets the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language.

  This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC specification. If the value is an SQL `NULL`, the driver returns a Java `null`.

  This method may also be used to read datatabase-specific abstract data types. In the JDBC 2.0 API, the behavior of method `getObject` is extended to materialize data of SQL user-defined types. When a column contains a structured or distinct value, the behavior of this method is as if it were a call to: `getObject(columnIndex, this.getStatement().getConnection().getTypeMap())`.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    a `java.lang.Object` holding the column value
  Throws:
    `SQLException` - if a database access error occurs

### getObject

    public Object getObject(String columnName)
                     throws SQLException

  Gets the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language.

  This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC specification. If the value is an SQL `NULL`, the driver returns a Java `null`.

  This method may also be used to read datatabase-specific abstract data types.

  In the JDBC 2.0 API, the behavior of the method `getObject` is extended to materialize data of SQL user-defined types. When a column contains a structured or distinct value, the behavior of this method is as if it were a call to: `getObject(columnIndex, this.getStatement().getConnection().getTypeMap())`.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    a `java.lang.Object` holding the column value
  Throws:
    `SQLException` - if a database access error occurs

### findColumn

    public int findColumn(String columnName)
                   throws SQLException

  Maps the given `ResultSet` column name to its `ResultSet` column index.

  Parameters:
    `columnName` - the name of the column
  Returns:
    the column index of the given column name
  Throws:
    `SQLException` - if the `ResultSet` object does not contain `columnName` or a database access error occurs

### getCharacterStream

    public Reader getCharacterStream(int columnIndex)
                              throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    a `java.io.Reader` object that contains the column value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getCharacterStream

    public Reader getCharacterStream(String columnName)
                              throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.io.Reader` object.

  Parameters:
    `columnName` - the name of the column
  Returns:
    a `java.io.Reader` object that contains the column value; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getBigDecimal

    public BigDecimal getBigDecimal(int columnIndex)
                             throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.math.BigDecimal` with full precision.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Returns:
    the column value (full precision); if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getBigDecimal

    public BigDecimal getBigDecimal(String columnName)
                             throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.math.BigDecimal` with full precision.

  Parameters:
    `columnName` - the column name
  Returns:
    the column value (full precision); if the value is SQL `NULL`, the value returned is `null` in the Java programming language.
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### isBeforeFirst

    public boolean isBeforeFirst()
                          throws SQLException

  Retrieves whether the cursor is before the first row in this `ResultSet` object.

  Returns:
    `true` if the cursor is before the first row; `false` if the cursor is at any other position or the result set contains no rows
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### isAfterLast

    public boolean isAfterLast()
                        throws SQLException

  Retrieves whether the cursor is after the last row in this `ResultSet` object.

  Returns:
    `true` if the cursor is after the last row; `false` if the cursor is at any other position or the result set contains no rows
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### isFirst

    public boolean isFirst()
                    throws SQLException

  Retrieves whether the cursor is on the first row of this `ResultSet` object.

  Returns:
    `true` if the cursor is on the first row; `false` otherwise
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### isLast

    public boolean isLast()
                   throws SQLException

  Retrieves whether the cursor is on the last row of this `ResultSet` object. Note: Calling the method `isLast` may be expensive because the JDBC driver might need to fetch ahead one row in order to determine whether the current row is the last row in the result set.

  Returns:
    `true` if the cursor is on the last row; `false` otherwise
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### beforeFirst

    public void beforeFirst()
                     throws SQLException

  Moves the cursor to the front of this `ResultSet` object, just before the first row. This method has no effect if the result set contains no rows.

  Throws:
    `SQLException` - if a database access error occurs or the result set type is `TYPE_FORWARD_ONLY`
  Since:
    1.2

### afterLast

    public void afterLast()
                   throws SQLException

  Moves the cursor to the end of this `ResultSet` object, just after the last row. This method has no effect if the result set contains no rows.

  Throws:
    `SQLException` - if a database access error occurs or the result set type is `TYPE_FORWARD_ONLY`
  Since:
    1.2

### first

    public boolean first()
                  throws SQLException

  Moves the cursor to the first row in this `ResultSet` object.

  Returns:
    `true` if the cursor is on a valid row; `false` if there are no rows in the result set
  Throws:
    `SQLException` - if a database access error occurs or the result set type is `TYPE_FORWARD_ONLY`
  Since:
    1.2

### last

    public boolean last()
                 throws SQLException

  Moves the cursor to the last row in this `ResultSet` object.

  Returns:
    `true` if the cursor is on a valid row; `false` if there are no rows in the result set
  Throws:
    `SQLException` - if a database access error occurs or the result set type is `TYPE_FORWARD_ONLY`
  Since:
    1.2

### getRow

    public int getRow()
               throws SQLException

  Retrieves the current row number. The first row is number 1, the second number 2, and so on.

  Returns:
    the current row number; `0` if there is no current row
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### absolute

    public boolean absolute(int row)
                     throws SQLException

  Moves the cursor to the given row number in this `ResultSet` object.

  If the row number is positive, the cursor moves to the given row number with respect to the beginning of the result set. The first row is row 1, the second is row 2, and so on.

  If the given row number is negative, the cursor moves to an absolute row position with respect to the end of the result set. For example, calling the method `absolute(-1)` positions the cursor on the last row; calling the method `absolute(-2)` moves the cursor to the next-to-last row, and so on.

  An attempt to position the cursor beyond the first/last row in the result set leaves the cursor before the first row or after the last row.

  Note: Calling `absolute(1)` is the same as calling `first()`. Calling `absolute(-1)` is the same as calling `last()`.

  Parameters:
    `row` - the number of the row to which the cursor should move. A positive number indicates the row number counting from the beginning of the result set; a negative number indicates the row number counting from the end of the result set
  Returns:
    `true` if the cursor is on the result set; `false` otherwise
  Throws:
    `SQLException` - if a database access error occurs, or the result set type is `TYPE_FORWARD_ONLY`
  Since:
    1.2

### relative

    public boolean relative(int rows)
                     throws SQLException

  Moves the cursor a relative number of rows, either positive or negative. Attempting to move beyond the first/last row in the result set positions the cursor before/after the the first/last row. Calling `relative(0)` is valid, but does not change the cursor position.

  Note: Calling the method `relative(1)` is identical to calling the method `next()` and calling the method `relative(-1)` is identical to calling the method `previous()`.

  Parameters:
    `rows` - an `int` specifying the number of rows to move from the current row; a positive number moves the cursor forward; a negative number moves the cursor backward
  Returns:
    `true` if the cursor is on a row; `false` otherwise
  Throws:
    `SQLException` - if a database access error occurs, there is no current row, or the result set type is `TYPE_FORWARD_ONLY`
  Since:
    1.2

### previous

    public boolean previous()
                     throws SQLException

  Moves the cursor to the previous row in this `ResultSet` object.

  Returns:
    `true` if the cursor is on a valid row; `false` if it is off the result set
  Throws:
    `SQLException` - if a database access error occurs or the result set type is `TYPE_FORWARD_ONLY`
  Since:
    1.2

### setFetchDirection

    public void setFetchDirection(int direction)
                           throws SQLException

  Gives a hint as to the direction in which the rows in this `ResultSet` object will be processed. The initial value is determined by the `Statement` object that produced this `ResultSet` object. The fetch direction may be changed at any time.

  Parameters:
    `direction` - an `int` specifying the suggested fetch direction; one of `ResultSet.FETCH_FORWARD`, `ResultSet.FETCH_REVERSE`, or `ResultSet.FETCH_UNKNOWN`
  Throws:
    `SQLException` - if a database access error occurs or the result set type is `TYPE_FORWARD_ONLY` and the fetch direction is not `FETCH_FORWARD`
  Since:
    1.2
See Also:
  `Statement.setFetchDirection(int)`, `getFetchDirection()`

### getFetchDirection

    public int getFetchDirection()
                          throws SQLException

  Retrieves the fetch direction for this `ResultSet` object.

  Returns:
    the current fetch direction for this `ResultSet` object
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
See Also:
  `setFetchDirection(int)`

### setFetchSize

    public void setFetchSize(int rows)
                      throws SQLException

  Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for this `ResultSet` object. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. The default value is set by the `Statement` object that created the result set. The fetch size may be changed at any time.

  Parameters:
    `rows` - the number of rows to fetch
  Throws:
    `SQLException` - if a database access error occurs or the condition `0 <= rows <= this.getMaxRows()` is not satisfied
  Since:
    1.2
See Also:
  `getFetchSize()`

### getFetchSize

    public int getFetchSize()
                     throws SQLException

  Retrieves the fetch size for this `ResultSet` object.

  Returns:
    the current fetch size for this `ResultSet` object
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
See Also:
  `setFetchSize(int)`

### getType

    public int getType()
                throws SQLException

  Retrieves the type of this `ResultSet` object. The type is determined by the `Statement` object that created the result set.

  Returns:
    `ResultSet.TYPE_FORWARD_ONLY`, `ResultSet.TYPE_SCROLL_INSENSITIVE`, or `ResultSet.TYPE_SCROLL_SENSITIVE`
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getConcurrency

    public int getConcurrency()
                       throws SQLException

  Retrieves the concurrency mode of this `ResultSet` object. The concurrency used is determined by the `Statement` object that created the result set.

  Returns:
    the concurrency type, either `ResultSet.CONCUR_READ_ONLY` or `ResultSet.CONCUR_UPDATABLE`
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### rowUpdated

    public boolean rowUpdated()
                       throws SQLException

  Retrieves whether the current row has been updated. The value returned depends on whether or not the result set can detect updates.

  Returns:
    `true` if both (1) the row has been visibly updated by the owner or another and (2) updates are detected
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
See Also:
  `DatabaseMetaData.updatesAreDetected(int)`

### rowInserted

    public boolean rowInserted()
                        throws SQLException

  Retrieves whether the current row has had an insertion. The value returned depends on whether or not this `ResultSet` object can detect visible inserts.

  Returns:
    `true` if a row has had an insertion and insertions are detected; `false` otherwise
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
See Also:
  `DatabaseMetaData.insertsAreDetected(int)`

### rowDeleted

    public boolean rowDeleted()
                       throws SQLException

  Retrieves whether a row has been deleted. A deleted row may leave a visible "hole" in a result set. This method can be used to detect holes in a result set. The value returned depends on whether or not this `ResultSet` object can detect deletions.

  Returns:
    `true` if a row was deleted and deletions are detected; `false` otherwise
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2
See Also:
  `DatabaseMetaData.deletesAreDetected(int)`

### updateNull

    public void updateNull(int columnIndex)
                    throws SQLException

  Gives a nullable column a null value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateBoolean

    public void updateBoolean(int columnIndex,
                              boolean x)
                       throws SQLException

  Updates the designated column with a `boolean` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateByte

    public void updateByte(int columnIndex,
                           byte x)
                    throws SQLException

  Updates the designated column with a `byte` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateShort

    public void updateShort(int columnIndex,
                            short x)
                     throws SQLException

  Updates the designated column with a `short` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateInt

    public void updateInt(int columnIndex,
                          int x)
                   throws SQLException

  Updates the designated column with an `int` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateLong

    public void updateLong(int columnIndex,
                           long x)
                    throws SQLException

  Updates the designated column with a `long` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateFloat

    public void updateFloat(int columnIndex,
                            float x)
                     throws SQLException

  Updates the designated column with a `float` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateDouble

    public void updateDouble(int columnIndex,
                             double x)
                      throws SQLException

  Updates the designated column with a `double` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateBigDecimal

    public void updateBigDecimal(int columnIndex,
                                 BigDecimal x)
                          throws SQLException

  Updates the designated column with a `java.math.BigDecimal` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateString

    public void updateString(int columnIndex,
                             String x)
                      throws SQLException

  Updates the designated column with a `String` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateBytes

    public void updateBytes(int columnIndex,
                            byte[] x)
                     throws SQLException

  Updates the designated column with a `byte` array value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateDate

    public void updateDate(int columnIndex,
                           Date x)
                    throws SQLException

  Updates the designated column with a `java.sql.Date` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateTime

    public void updateTime(int columnIndex,
                           Time x)
                    throws SQLException

  Updates the designated column with a `java.sql.Time` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateTimestamp

    public void updateTimestamp(int columnIndex,
                                Timestamp x)
                         throws SQLException

  Updates the designated column with a `java.sql.Timestamp` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateAsciiStream

    public void updateAsciiStream(int columnIndex,
                                  InputStream x,
                                  int length)
                           throws SQLException

  Updates the designated column with an ascii stream value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
    `length` - the length of the stream
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateBinaryStream

    public void updateBinaryStream(int columnIndex,
                                   InputStream x,
                                   int length)
                            throws SQLException

  Updates the designated column with a binary stream value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
    `length` - the length of the stream
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateCharacterStream

    public void updateCharacterStream(int columnIndex,
                                      Reader x,
                                      int length)
                               throws SQLException

  Updates the designated column with a character stream value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
    `length` - the length of the stream
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateObject

    public void updateObject(int columnIndex,
                             Object x,
                             int scale)
                      throws SQLException

  Updates the designated column with an `Object` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
    `scale` - for `java.sql.Types.DECIMA` or `java.sql.Types.NUMERIC` types, this is the number of digits after the decimal point. For all other types this value will be ignored.
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateObject

    public void updateObject(int columnIndex,
                             Object x)
                      throws SQLException

  Updates the designated column with an `Object` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateNull

    public void updateNull(String columnName)
                    throws SQLException

  Updates the designated column with a `null` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateBoolean

    public void updateBoolean(String columnName,
                              boolean x)
                       throws SQLException

  Updates the designated column with a `boolean` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateByte

    public void updateByte(String columnName,
                           byte x)
                    throws SQLException

  Updates the designated column with a `byte` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateShort

    public void updateShort(String columnName,
                            short x)
                     throws SQLException

  Updates the designated column with a `short` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateInt

    public void updateInt(String columnName,
                          int x)
                   throws SQLException

  Updates the designated column with an `int` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateLong

    public void updateLong(String columnName,
                           long x)
                    throws SQLException

  Updates the designated column with a `long` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateFloat

    public void updateFloat(String columnName,
                            float x)
                     throws SQLException

  Updates the designated column with a `float` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateDouble

    public void updateDouble(String columnName,
                             double x)
                      throws SQLException

  Updates the designated column with a `double` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateBigDecimal

    public void updateBigDecimal(String columnName,
                                 BigDecimal x)
                          throws SQLException

  Updates the designated column with a `java.sql.BigDecimal` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateString

    public void updateString(String columnName,
                             String x)
                      throws SQLException

  Updates the designated column with a `String` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateBytes

    public void updateBytes(String columnName,
                            byte[] x)
                     throws SQLException

  Updates the designated column with a byte array value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateDate

    public void updateDate(String columnName,
                           Date x)
                    throws SQLException

  Updates the designated column with a `java.sql.Date` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateTime

    public void updateTime(String columnName,
                           Time x)
                    throws SQLException

  Updates the designated column with a `java.sql.Time` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateTimestamp

    public void updateTimestamp(String columnName,
                                Timestamp x)
                         throws SQLException

  Updates the designated column with a `java.sql.Timestamp` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateAsciiStream

    public void updateAsciiStream(String columnName,
                                  InputStream x,
                                  int length)
                           throws SQLException

  Updates the designated column with an ascii stream value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
    `length` - the length of the stream
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateBinaryStream

    public void updateBinaryStream(String columnName,
                                   InputStream x,
                                   int length)
                            throws SQLException

  Updates the designated column with a binary stream value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
    `length` - the length of the stream
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateCharacterStream

    public void updateCharacterStream(String columnName,
                                      Reader reader,
                                      int length)
                               throws SQLException

  Updates the designated column with a character stream value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `reader` - the `java.io.Reader` object containing the new column value
    `length` - the length of the stream
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateObject

    public void updateObject(String columnName,
                             Object x,
                             int scale)
                      throws SQLException

  Updates the designated column with an `Object` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
    `scale` - for `java.sql.Types.DECIMAL` or `java.sql.Types.NUMERIC` types, this is the number of digits after the decimal point. For all other types this value will be ignored.
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### updateObject

    public void updateObject(String columnName,
                             Object x)
                      throws SQLException

  Updates the designated column with an `Object` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### insertRow

    public void insertRow()
                   throws SQLException

  Inserts the contents of the insert row into this `ResultSet` object and into the database. The cursor must be on the insert row when this method is called.

  Throws:
    `SQLException` - if a database access error occurs, if this method is called when the cursor is not on the insert row, or if not all of non-nullable columns in the insert row have been given a value
  Since:
    1.2

### updateRow

    public void updateRow()
                   throws SQLException

  Updates the underlying database with the new contents of the current row of this `ResultSet` object. This method cannot be called when the cursor is on the insert row.

  Throws:
    `SQLException` - if a database access error occurs or if this method is called when the cursor is on the insert row
  Since:
    1.2

### deleteRow

    public void deleteRow()
                   throws SQLException

  Deletes the current row from this `ResultSet` object and from the underlying database. This method cannot be called when the cursor is on the insert row.

  Throws:
    `SQLException` - if a database access error occurs or if this method is called when the cursor is on the insert row
  Since:
    1.2

### refreshRow

    public void refreshRow()
                    throws SQLException

  Refreshes the current row with its most recent value in the database. This method cannot be called when the cursor is on the insert row.

  The `refreshRow` method provides a way for an application to explicitly tell the JDBC driver to refetch a row(s) from the database. An application may want to call `refreshRow` when caching or prefetching is being done by the JDBC driver to fetch the latest value of a row from the database. The JDBC driver may actually refresh multiple rows at once if the fetch size is greater than one.

  All values are refetched subject to the transaction isolation level and cursor sensitivity. If `refreshRow` is called after calling an updater method, but before calling the method `updateRow`, then the updates made to the row are lost. Calling the method `refreshRow` frequently will likely slow performance.

  Throws:
    `SQLException` - if a database access error occurs or if this method is called when the cursor is on the insert row
  Since:
    1.2

### cancelRowUpdates

    public void cancelRowUpdates()
                          throws SQLException

  Cancels the updates made to the current row in this `ResultSet` object. This method may be called after calling an updater method(s) and before calling the method `updateRow` to roll back the updates made to a row. If no updates have been made or `updateRow` has already been called, this method has no effect.

  Throws:
    `SQLException` - if a database access error occurs or if this method is called when the cursor is on the insert row
  Since:
    1.2

### moveToInsertRow

    public void moveToInsertRow()
                         throws SQLException

  Moves the cursor to the insert row. The current cursor position is remembered while the cursor is positioned on the insert row. The insert row is a special row associated with an updatable result set. It is essentially a buffer where a new row may be constructed by calling the updater methods prior to inserting the row into the result set. Only the updater, getter, and `insertRow` methods may be called when the cursor is on the insert row. All of the columns in a result set must be given a value each time this method is called before calling `insertRow`. An updater method must be called before a getter method can be called on a column value.

  Throws:
    `SQLException` - if a database access error occurs or the result set is not updatable
  Since:
    1.2

### moveToCurrentRow

    public void moveToCurrentRow()
                          throws SQLException

  Moves the cursor to the remembered cursor position, usually the current row. This method has no effect if the cursor is not on the insert row.

  Throws:
    `SQLException` - if a database access error occurs or the result set is not updatable
  Since:
    1.2

### getStatement

    public Statement getStatement()
                           throws SQLException

  Retrieves the `Statement` object that produced this `ResultSet` object. If the result set was generated some other way, such as by a `DatabaseMetaData` method, this method returns `null`.

  Returns:
    the `Statment` object that produced this `ResultSet` object or `null` if the result set was produced some other way
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getObject

    public Object getObject(int i,
                            Map map)
                     throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language. If the value is an SQL `NULL`, the driver returns a Java `null`. This method uses the given `Map` object for the custom mapping of the SQL structured or distinct type that is being retrieved.

  Parameters:
    `i` - the first column is 1, the second is 2, ...
    `map` - a `java.util.Map` object that contains the mapping from SQL type names to classes in the Java programming language
  Returns:
    an `Object` in the Java programming language representing the SQL value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getRef

    public Ref getRef(int i)
               throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Ref` object in the Java programming language.

  Parameters:
    `i` - the first column is 1, the second is 2, ...
  Returns:
    a `Ref` object representing an SQL `REF` value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getBlob

    public Blob getBlob(int i)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Blob` object in the Java programming language.

  Parameters:
    `i` - the first column is 1, the second is 2, ...
  Returns:
    a `Blob` object representing the SQL `BLOB` value in the specified column
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getClob

    public Clob getClob(int i)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Clob` object in the Java programming language.

  Parameters:
    `i` - the first column is 1, the second is 2, ...
  Returns:
    a `Clob` object representing the SQL `CLOB` value in the specified column
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getArray

    public Array getArray(int i)
                   throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as an `Array` object in the Java programming language.

  Parameters:
    `i` - the first column is 1, the second is 2, ...
  Returns:
    an `Array` object representing the SQL `ARRAY` value in the specified column
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getObject

    public Object getObject(String colName,
                            Map map)
                     throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as an `Object` in the Java programming language. If the value is an SQL `NULL`, the driver returns a Java `null`. This method uses the specified `Map` object for custom mapping if appropriate.

  Parameters:
    `colName` - the name of the column from which to retrieve the value
    `map` - a `java.util.Map` object that contains the mapping from SQL type names to classes in the Java programming language
  Returns:
    an `Object` representing the SQL value in the specified column
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getRef

    public Ref getRef(String colName)
               throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Ref` object in the Java programming language.

  Parameters:
    `colName` - the column name
  Returns:
    a `Ref` object representing the SQL `REF` value in the specified column
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getBlob

    public Blob getBlob(String colName)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Blob` object in the Java programming language.

  Parameters:
    `colName` - the name of the column from which to retrieve the value
  Returns:
    a `Blob` object representing the SQL `BLOB` value in the specified column
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getClob

    public Clob getClob(String colName)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `Clob` object in the Java programming language.

  Parameters:
    `colName` - the name of the column from which to retrieve the value
  Returns:
    a `Clob` object representing the SQL `CLOB` value in the specified column
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getArray

    public Array getArray(String colName)
                   throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as an `Array` object in the Java programming language.

  Parameters:
    `colName` - the name of the column from which to retrieve the value
  Returns:
    an `Array` object representing the SQL `ARRAY` value in the specified column
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getDate

    public Date getDate(int columnIndex,
                        Calendar cal)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Date` object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the date if the underlying database does not store timezone information.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `cal` - the `java.util.Calendar` object to use in constructing the date
  Returns:
    the column value as a `java.sql.Date` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getDate

    public Date getDate(String columnName,
                        Calendar cal)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Date` object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the date if the underlying database does not store timezone information.

  Parameters:
    `columnName` - the SQL name of the column from which to retrieve the value
    `cal` - the `java.util.Calendar` object to use in constructing the date
  Returns:
    the column value as a `java.sql.Date` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getTime

    public Time getTime(int columnIndex,
                        Calendar cal)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Time` object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the time if the underlying database does not store timezone information.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `cal` - the `java.util.Calendar` object to use in constructing the time
  Returns:
    the column value as a `java.sql.Time` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getTime

    public Time getTime(String columnName,
                        Calendar cal)
                 throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Time` object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the time if the underlying database does not store timezone information.

  Parameters:
    `columnName` - the SQL name of the column
    `cal` - the `java.util.Calendar` object to use in constructing the time
  Returns:
    the column value as a `java.sql.Time` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getTimestamp

    public Timestamp getTimestamp(int columnIndex,
                                  Calendar cal)
                           throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Timestamp` object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `cal` - the `java.util.Calendar` object to use in constructing the timestamp
  Returns:
    the column value as a `java.sql.Timestamp` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getTimestamp

    public Timestamp getTimestamp(String columnName,
                                  Calendar cal)
                           throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.sql.Timestamp` object in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.

  Parameters:
    `columnName` - the SQL name of the column
    `cal` - the `java.util.Calendar` object to use in constructing the date
  Returns:
    the column value as a `java.sql.Timestamp` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.2

### getURL

    public URL getURL(int columnIndex)
               throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.net.URL` object in the Java programming language.

  Parameters:
    `columnIndex` - the index of the column 1 is the first, 2 is the second,...
  Returns:
    the column value as a `java.net.URL` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs, or if a URL is malformed
  Since:
    1.4

### getURL

    public URL getURL(String columnName)
               throws SQLException

  Retrieves the value of the designated column in the current row of this `ResultSet` object as a `java.net.URL` object in the Java programming language.

  Parameters:
    `columnName` - the SQL name of the column
  Returns:
    the column value as a `java.net.URL` object; if the value is SQL `NULL`, the value returned is `null` in the Java programming language
  Throws:
    `SQLException` - if a database access error occurs or if a URL is malformed
  Since:
    1.4

### updateRef

    public void updateRef(int columnIndex,
                          Ref x)
                   throws SQLException

  Updates the designated column with a `java.sql.Ref` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.4

### updateRef

    public void updateRef(String columnName,
                          Ref x)
                   throws SQLException

  Updates the designated column with a `java.sql.Ref` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.4

### updateBlob

    public void updateBlob(int columnIndex,
                           Blob x)
                    throws SQLException

  Updates the designated column with a `java.sql.Blob` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.4

### updateBlob

    public void updateBlob(String columnName,
                           Blob x)
                    throws SQLException

  Updates the designated column with a `java.sql.Blob` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.4

### updateClob

    public void updateClob(int columnIndex,
                           Clob x)
                    throws SQLException

  Updates the designated column with a `java.sql.Clob` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.4

### updateClob

    public void updateClob(String columnName,
                           Clob x)
                    throws SQLException

  Updates the designated column with a `java.sql.Clob` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.4

### updateArray

    public void updateArray(int columnIndex,
                            Array x)
                     throws SQLException

  Updates the designated column with a `java.sql.Array` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnIndex` - the first column is 1, the second is 2, ...
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.4

### updateArray

    public void updateArray(String columnName,
                            Array x)
                     throws SQLException

  Updates the designated column with a `java.sql.Array` value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the `updateRow` or `insertRow` methods are called to update the database.

  Parameters:
    `columnName` - the name of the column
    `x` - the new column value
  Throws:
    `SQLException` - if a database access error occurs
  Since:
    1.4

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.